home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 April: Mac OS SDK / Dev.CD Apr 98 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Universal / Interfaces / RIncludes / Components.r < prev    next >
Encoding:
Text File  |  1998-02-12  |  4.1 KB  |  135 lines  |  [TEXT/MPS ]

  1. /*
  2.      File:        Components.r
  3.  
  4.      Contains:    Component Manager Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.1
  8.  
  9.      Copyright:    © 1991-1998 by Apple Computer, Inc., all rights reserved.
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. */
  18.  
  19. #ifndef __COMPONENTS_R__
  20. #define __COMPONENTS_R__
  21.  
  22. #ifndef __CONDITIONALMACROS_R__
  23. #include "ConditionalMacros.r"
  24. #endif
  25.  
  26. #define cmpWantsRegisterMessage         0x80000000
  27. #define cmpIsComponentAlias             0x10000000
  28.  
  29. #define componentDoAutoVersion             0x01
  30. #define componentWantsUnregister         0x02
  31. #define componentAutoVersionIncludeFlags  0x04
  32. #define componentHasMultiplePlatforms     0x08
  33. #define componentLoadResident             0x10
  34.  
  35.  
  36. /*----------------------------strn • Pascal-Style String--------------------------------*/
  37.     // ••• used for component name resources
  38. type 'strn' {
  39.         pstring;                                                /* String                */
  40. };
  41. /*----------------------------stri • Pascal-Style String--------------------------------*/
  42.     // ••• used for component info resources
  43. type 'stri' {
  44.         pstring;                                                /* String                */
  45. };
  46. /*----------------------------thng  • Component Manager thing ------------------------*/
  47. /*
  48.     thng_RezTemplateVersion:
  49.         0 - original 'thng' template    <-- default
  50.         1 - extended 'thng' template
  51. */
  52. #ifndef thng_RezTemplateVersion
  53.     #ifdef UseExtendedThingResource            /* grandfather in use of “UseExtendedThingResource” */
  54.         #define thng_RezTemplateVersion 1
  55.     #else
  56.         #define thng_RezTemplateVersion 0
  57.     #endif
  58. #endif
  59.  
  60.  
  61. type 'thng' {
  62.         literal longint;                                        /* Type */
  63.         literal longint;                                        /* Subtype */
  64.         literal longint;                                        /* Manufacturer */
  65.         unsigned hex longint;                                     /* component flags */
  66.         unsigned hex longint    kAnyComponentFlagsMask = 0;        /* component flags Mask */
  67.         literal longint;                                        /* Code Type */
  68.         integer;                                                /* Code ID */
  69.         literal longint;                                        /* Name Type */
  70.         integer;                                                /* Name ID */
  71.         literal longint;                                        /* Info Type */
  72.         integer;                                                /* Info ID */
  73.         literal longint;                                        /* Icon Type */
  74.         integer;                                                /* Icon ID */
  75. #if thng_RezTemplateVersion == 1
  76.         unsigned hex longint;                                    /* version of Component */
  77.         longint;                                                /* registration flags */
  78.         integer;                                                /* resource id of Icon Family */
  79.         longint = $$CountOf(ComponentPlatformInfo);
  80.         wide array ComponentPlatformInfo {
  81.             unsigned hex longint;                                 /* component flags */
  82.             literal longint;                                    /* Code Type */
  83.             integer;                                            /* Code ID */
  84.             integer platform68k = 1,                            /* platform type (response from gestaltSysArchitecture) */
  85.                     platformPowerPC = 2,
  86.                     platformInterpreted = 3,
  87.                     platformWin32 = 4;
  88.         };
  89. #endif
  90. };
  91.  
  92.  
  93. /*----------------------------thga • Thing --------------------------------------------*/
  94. type 'thga' {
  95.         literal longint;                                        /* Type */
  96.         literal longint;                                        /* Subtype */
  97.         literal longint;                                        /* Manufacturer */
  98.         unsigned hex longint;                                     /* component flags */
  99.         unsigned hex longint    kAnyComponentFlagsMask = 0;        /* component flags Mask */
  100.         literal longint;                                        /* Code Type */
  101.         integer;                                                /* Code ID */
  102.         literal longint;                                        /* Name Type */
  103.         integer;                                                /* Name ID */
  104.         literal longint;                                        /* Info Type */
  105.         integer;                                                /* Info ID */
  106.         literal longint;                                        /* Icon Type */
  107.         integer;                                                /* Icon ID */
  108.  
  109.         literal longint;                                        /* Type */
  110.         literal longint;                                        /* Subtype */
  111.         literal longint;                                        /* Manufacturer */
  112.         unsigned hex longint;                                     /* component flags */
  113.         unsigned hex longint    kAnyComponentFlagsMask = 0;        /* component flags Mask */
  114. };
  115.  
  116.  
  117. /*----------------------------thn#  • Component Manager thing load order dependency ----*/
  118. type 'thn#' {
  119.         array {
  120.             literal longint;                                        /* Code Type */
  121.             integer;                                                /* Code ID */
  122.         };
  123. };
  124. #if !TARGET_OS_MAC
  125. /*----------------------------stri • dlle resource--------------------------------*/
  126.     // ••• used for multi-platform things
  127.     type 'dlle' {
  128.         cstring;
  129.     };
  130. #endif
  131.  
  132.  
  133. #endif /* __COMPONENTS_R__ */
  134.  
  135.